package com.ruoyi.hqfinance.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.logistic.domain.Client;
import com.ruoyi.logistic.domain.NetworkClient;
import com.ruoyi.logistic.domain.NetworkName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Date;
import java.sql.Timestamp;

/**
 * 总部财务-退件中转费报表-明细
 */
@Data
public class HqReturnTransferFeeDetail implements Serializable {
    private static final long serialVersionUID = -6873214982559550087L;
    /** 主键 */
    private Integer id;

    /** 结算日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结算日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date settleDate;

    /** 运单号 */
    @Excel(name = "运单号")
    private String transportCode;

    /** 发送日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发送日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sendDate;

    /** 收件网点id */
    @Excel(name = "收件网点id")
    private Integer receiveNetworkNameId;

    /** 正向始发地id */
    @Excel(name = "正向始发地id")
    private Integer zxStartNetworkNameId;

    /** 正向始发地上级id */
    @Excel(name = "正向始发地上级id")
    private Integer zxStartSuperiorsNetworkNameId;

    /** 结算机构id */
    @Excel(name = "结算机构id")
    private Integer settleNetworkNameId;

    /** 结算机构类型 */
    @Excel(name = "结算机构类型")
    private String settleType;

    /** 客户信息（客户编码、客户名称、客户类型）id */
    @Excel(name = "客户信息", readConverterExp = "客=户编码、客户名称、客户类型")
    private Integer clientId;

    /** 退件机构id */
    @Excel(name = "退件机构id")
    private Integer returnNetworkNameId;

    /** 逆向第一直属中心id */
    @Excel(name = "逆向第一直属中心id")
    private Integer backwardFirstBelongTransferCentreId;

    /** 逆向第一途径中心id */
    @Excel(name = "逆向第一途径中心id")
    private Integer backwardFirstPathwayTransferCentreId;

    /** 逆向目的地id */
    @Excel(name = "逆向目的地id")
    private Integer backwardNetworkNameId;

    /** 运输方式 */
    @Excel(name = "运输方式")
    private String transportType;

    /** 产品类型 */
    @Excel(name = "产品类型")
    private String productType;

    /** 物品类型 */
    @Excel(name = "物品类型")
    private String itemType;

    /** 逆向路由号 */
    @Excel(name = "逆向路由号")
    private String backwardRouteCode;

    /** 结算重量 */
    @Excel(name = "结算重量")
    private Integer settleWeight;

    /** 正向金额 */
    @Excel(name = "正向金额")
    private BigDecimal zxAmount;

    /** 逆向金额 */
    @Excel(name = "逆向金额")
    private BigDecimal backwardAmount;

    /** 是否分摊 */
    @Excel(name = "是否分摊")
    private String isShare;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp updateTime;
//收件网点
    private NetworkName receiveNetworkName;
//正向始发地
    private NetworkName zxStartNetworkName;
//正向始发地上级
    private NetworkName zxStartSuperiorsNetworkName;
//结算机构
    private NetworkName settleNetworkName;
//    客户信息
    private NetworkClient client;
//    退件机构
    private NetworkName returnNetworkName;
//    逆向第一直属中心
    private HqTransferCentre backwardFirstBeIntegerTransferCentre;
//    逆向第一途径中心
    private HqTransferCentre backwardFirstPathwayTransferCentre;
//    逆向目的地
    private NetworkName backwardNetworkName;

}
